Multiple-Input Multiple-Output (“MIMO”) communication systems are becoming increasingly popular as a solution to increasing demands for higher data-rates and more reliable wireless communication systems. These systems can include multiple antennas at a transmitter side of the communication system and multiple antennas at the receiver side of the communication system. Each transmitter antenna can transmit a different signal at a common frequency through a different channel of the communication system. Each receiver antenna may receive each signal from the multiple transmitter-antennas. During transit, the transmitted signals may encounter different obstacles such that the frequency response of each channel is different. Thus, a common goal of conventional systems is to attempt to efficiently detect the transmitted symbols by determining the frequency response of each channel in the communication system.
Although the optimal solution to the MIMO symbol detection problem, Maximum Likelihood (“ML”) detection, is known, a brute-force ML detector implementation involves an exhaustive search over all possible transmitted symbol vectors. This approach is infeasible for hardware implementations when either a large signal constellation or a large number of transmit and receive antennas are employed. Hence, a goal of conventional systems is to design hardware for MIMO symbol detection that achieves comparable Bit-Error-Rate (“BER”) performance to the ML detector while having low hardware complexity and meeting throughput and latency requirements.
Some MIMO symbol detection systems employ methods of linear detection and Successive Interference Cancelation (SIC), Sphere Decoding (SD), Lattice Reduction (LR), and/or Complex Lenstra-Lenstra-Lovasz (CLLL) algorithms, among many other possibilities.
The Schnorr-Euchner (SE) method is a detection algorithm that searches a list of candidates for best guesses of the transmitted symbols. Each candidate is associated with a cost. The SE method ranks the candidates in the order of their cost function. The candidate with the smallest cost is considered as the best candidate. The SE method may be applied to or used in conjunction with, but not limited to, many algorithms including Sphere Decoding, lattice decoding applications, and may be used in other applications such as and global positioning systems (GPS). The SE method often includes two stages: an initialization stage and an expansion stage. The existing SE expansion method often requires multipliers to obtain the value of the cost function, where the multipliers can result in long critical path that lowers the maximum achievable frequency of a VLSI implementation. As a result, due to the use of multipliers, the existing SE method has a high cost in processing power and time. Therefore, there is a need for a more energy-efficient, accurate, and less complex SE method with enhanced performance. Various embodiments of the disclosed technology address these needs.